Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recurring meetings #15620

Merged
merged 133 commits into from
Dec 4, 2024
Merged

Recurring meetings #15620

merged 133 commits into from
Dec 4, 2024

Conversation

oliverguenther
Copy link
Member

@oliverguenther oliverguenther commented May 21, 2024

Implementation chunks

https://community.openproject.org/work_packages/54188

  • https://community.openproject.org/work_packages/58225
    • The meeting agenda page is one level lower than the regular meeting agenda page:
    • The breadcrumb will be "{Project name} / Meetings / {Meeting series name} / Date"
    • The title will be: "{Date} ({Series name})" (with the series name in parentheses in a lighter shade)
    • The title will not be editable
    • The description in the PageHeader will be: "This meeting is part of a recurring meeting series. Last updated {last-updated-time}".
    • The Meeting details pane on the left has one extra line at the top: Icon: recurring icon ("iterations"), Link with title of the Meeting series: clicking on this takes the user to the Meeting series index

Known TODOS

  • Recurring meetings index/show does not always use correct layout/sidebar
  • Output schedule from new fields on recurring
  • Merge schedule with known instantiated meetings
  • Use CopyService with recurring_meeting_id to instantiate a meeting using a given schedule item/specific date
  • Clarify labels vs state component
  • Editing of templates requires combined form of series and meeting template
  • Remove current recurring filter, add boolean one
  • Add direction toggle to the meetings index page for recurring meetings
  • Automatically scheduling the next meeting occurrence
  • Use format_date everywhere
  • Update show page button and actions
  • Check/fix copy behaviour of an occurrence
  • Add new table/join to handle cancelling
  • Check/fix delete behaviour
  • Check/fix updating end date/count after a meeting is already instantiated
  • Change default frequency to weekly
  • Show rescheduled meetings
  • Update cancel behaviour
  • Recreate job when the series is updated

Known TODOS in separate PRs

Issues found

  • End date can be before start date for form submission
  • Date validation is broken
  • Deleting a recurring meeting leads to a meetings index page without the subheader
  • End date is not respected for scheduled list (always at least 5, from the count set in the controller?)
  • End date field shown in edit form when end after is no. of occurrences when first opened
  • Dates in the recurring occurrences list do not match other date formats (header + regular meetings table)
  • Details dialog cannot be opened for meetings
  • (Maybe unrelated) Default location in the dialog form is "1.0"
  • Can't save changes via the meeting details dialog (date/time)
  • Changing the schedule keeps cancelled meetings, even if they are no longer on scheduled dates (delete?)
  • End date cannot be changed to an earlier one
  • Regular meeting delete is broken
  • Rescheduling an occurrence to a past date still shows it in the upcoming list
  • Cancelled meetings stay in the past list
  • Template details shows a day of the week when frequency is working days as well Don't show day of week when not weekly #17359
  • (Maybe unrelated) Adding a section to the template triggered the meeting updated flash when it shouldn't have
  • Meeting index list in the left panel order changes when viewing a template vs the show page

Questions

https://community.openproject.org/projects/meetings-stream/meetings/3901

@oliverguenther oliverguenther force-pushed the feature/recurring-meetings branch from c56a135 to 4ed9b8b Compare May 21, 2024 09:58
@oliverguenther oliverguenther force-pushed the feature/recurring-meetings branch 2 times, most recently from 4a85acc to df1adef Compare October 2, 2024 19:25
@oliverguenther oliverguenther force-pushed the feature/recurring-meetings branch from df1adef to b3985d1 Compare November 11, 2024 10:13
@oliverguenther oliverguenther changed the title Prepare basic recurring meeting setup Recurring meetings Nov 11, 2024
@mrmir mrmir force-pushed the feature/recurring-meetings branch from 32395d4 to 6f8dd8e Compare November 13, 2024 19:54
@oliverguenther oliverguenther marked this pull request as ready for review December 4, 2024 16:10
@oliverguenther oliverguenther merged commit 25fc7cd into dev Dec 4, 2024
13 checks passed
@oliverguenther oliverguenther deleted the feature/recurring-meetings branch December 4, 2024 16:12
akabiru pushed a commit that referenced this pull request Dec 9, 2024
* Prepare basic recurring meeting setup

* Add proof of concept to create schedules

* Add feature flag

* Rework menu

* Pass request to meetings menu

This doesn't help, as the requested url is the turbo frame

* Add filter menu for recurring meetings

* Start primerized create form

* Add recurring meetings to dropdown and dialog

* Add schedule

* Add frequency/iterations form

* Add services

* Recurring meetings menu entry

* Fix setting project

* Template

* add bi-weekly

* Add template sideinfo

* Skip mails when adding participants

* exclude templated meetings

* Add header for templates

* Prevent deletion of meeting template

* Fix breadcrumb

* WIP Add show table and initialization

* Change icon for calendar

* remove unused template

* add template has_one

* meeting form

* Fix creation of recurring

* working edit

* specify end time

* Add header actions

* Add initial recurring meeting frequency label

* Add index page

* Add soft delete and restore for occurrences

* Refine implementation of scheduled meetings using skeletons

* Add template link

* Paginate

* Move init of meeting to recurring

* Add schedule in words

* Add show series action item

* Implement changed show page of occurrence

* Add interval, fewer frequencies

* Add interval to schedule

* Try to add non working days

* Update meetings index to display recurring occurrences correctly

* Update schedule in words

* Fix exception rule

* Fix occurrence for working days

* Hide interval when selecting working_days

* Document show-when-value-selected

* Set interval to 1 when changing to working_days

* Fix dialog

* Adapt to mobile table

* Update type filter

* Rename TypeFilter -> RecurringFilter

* Start date group

* Combined Filter component

* Updated menu

* Update label created by me

* Add validation on end_date > start_date

* Implement sorting through query

* Render all meeting series in the sidebar

* Select my meetings only when href passed

* WIP Add initial specs

* Fix date validation

* Use the correct date formatter in the subtitle

* Add spec for date validation

* Change label to View template

* Add edit series button

* Fix deletion of recurring meetings

* Correctly hide form for end_after options

* Update copy behaviour to never allow recurring copies

* Fix location value in form

* Fix meeting details form

* Add scheduled meetings table

* Replace destroy/restore with actual destroy

* Uniqueness

* Delete with schedule

* Switch to start_time

* Use start_time in schedule

Otherwise, we get time mismatches

* Add helper for time formatting to the current user

* fixup! Delete with schedule

* Move update_start_time to concern

* Delete cancelled meetings when changing schedule

* Allow passing dates directly

* Remove cancelled occurrences when changing schedules

* Limit count_rule until end_date

* Show changed start times for occurrences

* Indent case

* Fix destroy path to include project

* Fix past meetings

* Schedule first occurrence on creation

* Linting

* fixup! Linting

* Autoschedule job

* Add more schedule tests

* Fix project-based destroy

* Redirect to template, not show

* Don't cache user time zone in request store

* Fix forgotten invited where

* fixup! Linting

* Remove default meeting order

* Fix meetings index spec with new ordering

* Fix path

* Convert meeting tab to cuprite

* Fix expectation for meeting tab

* More robust selector on meeting tab

* Change global menu spec

* Add more CRUD specs

* Fix dates and times

* Allow cancellation of scheduled meetings

* Lint

* Reschedule init job when updating schedule

* Fix end date in the form

* Test cancellation

* Extract create spec

* Fix specs

* Add spec when lacking permissions

* Fix cancellation of scheduled meetings

* Render meetings with correct project link

* Remove unused disable

* Remove useless cop disable

* Add contract specs

* Add delete contract spec

* Revert "Add delete contract spec"

This reverts commit 27a517d.

* Add delete contract spec for meetings itself

* Fix spec

* Hide past cancelled occurrences

* Show different delete labels and messages

* Move to request spec

---------

Co-authored-by: Mir Bhatia <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants